package com.invokestatic.shooter.Entity;

import java.util.Random;

import com.invokestatic.shooter.Input;
import com.invokestatic.shooter.Level.Camera;
import com.invokestatic.shooter.Level.Level;
import com.invokestatic.shooter.Screens.Screen;

public abstract class Entity {
	
	protected static Random random = new Random();
	protected Level level;

	public boolean removed = false;
	public double xa, ya;        
	public double x, y;
	public int w = 10, h = 10;

	public void init (Level level) {
		this.level = level;
	}

	public void outOfBounds () {
		if (y < 0) remove();
		return;
	}	

	public void remove() {
		removed = true;
	}

	public abstract void render(Screen screen, Camera camera);

	public abstract void tick(Input input);
}
